catvm.memory.MimeType={};
var MimeType =function MimeType() {
    //如果不能new  要抛出一个错误
    throw new TypeError("Illegal constructor");
}//构造函数
catvm.safefunction(MimeType); //tostring 保护


//设置原型链上显示的名字***************************************************************************
Object.defineProperties(MimeType.prototype, {
    [Symbol.toStringTag]: {
        value: "MimeType",
        configurable: true
    }
});

//该环境下的属性和方法***************************************************************************
MimeType.prototype.description ='';
MimeType.prototype.enabledPlugin=null;
MimeType.prototype.suffixes='';
MimeType.prototype.type='';



//new出来的实例在没有继承的情况下获取是报错情况
for (var pluginKey in MimeType.prototype) {
    if(typeof(MimeType.prototype[pluginKey])!='function'){
        MimeType.prototype.__defineGetter__(pluginKey,function () {
            throw new TypeError("Illegal constructor");
        })
    }
}




//用自己的方式new出来实例
catvm.memory.MimeType.new=function (data,initPlugin) {
    var mimetype={};
    if(data !=undefined){
        mimetype.description=data.description;
        mimetype.enabledPlugin = initPlugin;
        mimetype.suffixes=data.suffixes;
        mimetype.type=data.type;
    }
    mimetype.__proto__=MimeType.prototype;
    return mimetype
}

